#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "klee_change_macros.h"
#include "klee_change_functions.h"
int lib(int n){
    if(klee_change(1,0)){
        if(n == 1){
            return 1;
        }else if(n < 1){
            return 0;
        }else{
            return lib(n - 1) + lib(n - 2);
        }
    }
    else{
        if(n <= 0){
            return 0;
        }else if(n ==1){
            return 1;
        }else{
            return n * lib(n-1);
        }
    }
}

int fib(int x){
    if(x<5){
        return lib(x);
    }else{
        return 0;
    }
}
int main(int argc, char *argv[]) {
  int x= argv[1][0] - '0';
  return printf("%d\n", fib(x));
}
